﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Drawing;
using Bakındur.Properties;

namespace Bakındur
{
    public class SozlukIcon : IDisposable
    {
        private Sozluk sozluk;
        private NotifyIcon icon;

        public SozlukIcon(Sozluk sozluk)
        {
            this.sozluk = sozluk;
            icon = new NotifyIcon();
            icon.BalloonTipText = @"Arama yapmak için:
Bir kelimeyi seçip/işaretleip hızlıca iki kez Ctrl tuşuna basın.
Ya da aramak istediğiniz kelimenin üzerine fare işaretçisini getirip bir eliniz Ctrl tuşuna basılı tutarken farenin sağ tuşuna tıklayın. ";
            icon.BalloonTipTitle = "Bakındur Sözlük";
            icon.Text = "Bakındur Sözlük";
            icon.Icon = Icon.FromHandle(Resources.Search.GetHicon()); 
            icon.ContextMenu = new ContextMenu(new MenuItem[]{
                new MenuItem("Aç",(sender, e) => sozluk.ShowResult()),
                new MenuItem("Hakkında",(sender,e)=>new AboutBox().ShowDialog()),
                new MenuItem("-"),
                new MenuItem("Çıkış",(sender, e)=> Application.Exit())
            });
            icon.DoubleClick += (sender, e) => sozluk.ShowResult();
            icon.BalloonTipClicked += (sender, e) =>
            {
                Bakındur.Properties.Settings.Default.NotificationAccepted = true;
                Bakındur.Properties.Settings.Default.Save();
            };

            icon.Visible = true;

            if (!Bakındur.Properties.Settings.Default.NotificationAccepted)
                icon.ShowBalloonTip(10, "Bakındur Sözlük",
                    @"Sözlük başlatıldı. 

Arama yapmak için:
Bir kelimeyi seçip/işaretleip hızlıca iki kez Ctrl tuşuna basın.
Ya da aramak istediğiniz kelimenin üzerine fare işaretçisini getirip bir eliniz Ctrl tuşuna basılı tutarken farenin sağ tuşuna tıklayın.", ToolTipIcon.Info);
        }

        public void Dispose()
        {
            icon.Visible = false;
            icon.Icon = null;
        }
    }
}
